/*
Adept MobileRobots Robotics Interface for Applications (ARIA)
Copyright (C) 2004-2005 ActivMedia Robotics LLC
Copyright (C) 2006-2010 MobileRobots Inc.
Copyright (C) 2011-2015 Adept Technology, Inc.
Copyright (C) 2016-2018 Omron Adept Technologies, Inc.

     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
     the Free Software Foundation; either version 2 of the License, or
     (at your option) any later version.

     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.

     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

If you wish to redistribute ARIA under different terms, contact 
Adept MobileRobots for information about a commercial version of ARIA at 
robots@mobilerobots.com or 
Adept MobileRobots, 10 Columbia Drive, Amherst, NH 03031; +1-603-881-7960
*/
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 3.0.8
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

package com.mobilerobots.ArNetworking;
import com.mobilerobots.Aria.*;
public class ArServerBase extends ArASyncTask {
  private transient long swigCPtr;

  public ArServerBase(long cPtr, boolean cMemoryOwn) {
    super(ArNetworkingJavaJNI.ArServerBase_SWIGUpcast(cPtr), cMemoryOwn);
    swigCPtr = cPtr;
  }

  public static long getCPtr(ArServerBase obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }

  protected void finalize() {
    delete();
  }

  public synchronized void delete() {
    if (swigCPtr != 0) {
      if (swigCMemOwn) {
        swigCMemOwn = false;
        ArNetworkingJavaJNI.delete_ArServerBase(swigCPtr);
      }
      swigCPtr = 0;
    }
    super.delete();
  }

  public ArServerBase(boolean addAriaExitCB, String serverName, boolean addBackupTimeoutToConfig, String backupTimeoutName, String backupTimeoutDesc, boolean masterServer, boolean slaveServer, boolean logPasswordFailureVerbosely, boolean allowSlowPackets, boolean allowIdlePackets, int maxClientsAllowed, int warningTimeMSec) {
    this(ArNetworkingJavaJNI.new_ArServerBase__SWIG_0(addAriaExitCB, serverName, addBackupTimeoutToConfig, backupTimeoutName, backupTimeoutDesc, masterServer, slaveServer, logPasswordFailureVerbosely, allowSlowPackets, allowIdlePackets, maxClientsAllowed, warningTimeMSec), true);
  }

  public ArServerBase(boolean addAriaExitCB, String serverName, boolean addBackupTimeoutToConfig, String backupTimeoutName, String backupTimeoutDesc, boolean masterServer, boolean slaveServer, boolean logPasswordFailureVerbosely, boolean allowSlowPackets, boolean allowIdlePackets, int maxClientsAllowed) {
    this(ArNetworkingJavaJNI.new_ArServerBase__SWIG_1(addAriaExitCB, serverName, addBackupTimeoutToConfig, backupTimeoutName, backupTimeoutDesc, masterServer, slaveServer, logPasswordFailureVerbosely, allowSlowPackets, allowIdlePackets, maxClientsAllowed), true);
  }

  public ArServerBase(boolean addAriaExitCB, String serverName, boolean addBackupTimeoutToConfig, String backupTimeoutName, String backupTimeoutDesc, boolean masterServer, boolean slaveServer, boolean logPasswordFailureVerbosely, boolean allowSlowPackets, boolean allowIdlePackets) {
    this(ArNetworkingJavaJNI.new_ArServerBase__SWIG_2(addAriaExitCB, serverName, addBackupTimeoutToConfig, backupTimeoutName, backupTimeoutDesc, masterServer, slaveServer, logPasswordFailureVerbosely, allowSlowPackets, allowIdlePackets), true);
  }

  public ArServerBase(boolean addAriaExitCB, String serverName, boolean addBackupTimeoutToConfig, String backupTimeoutName, String backupTimeoutDesc, boolean masterServer, boolean slaveServer, boolean logPasswordFailureVerbosely, boolean allowSlowPackets) {
    this(ArNetworkingJavaJNI.new_ArServerBase__SWIG_3(addAriaExitCB, serverName, addBackupTimeoutToConfig, backupTimeoutName, backupTimeoutDesc, masterServer, slaveServer, logPasswordFailureVerbosely, allowSlowPackets), true);
  }

  public ArServerBase(boolean addAriaExitCB, String serverName, boolean addBackupTimeoutToConfig, String backupTimeoutName, String backupTimeoutDesc, boolean masterServer, boolean slaveServer, boolean logPasswordFailureVerbosely) {
    this(ArNetworkingJavaJNI.new_ArServerBase__SWIG_4(addAriaExitCB, serverName, addBackupTimeoutToConfig, backupTimeoutName, backupTimeoutDesc, masterServer, slaveServer, logPasswordFailureVerbosely), true);
  }

  public ArServerBase(boolean addAriaExitCB, String serverName, boolean addBackupTimeoutToConfig, String backupTimeoutName, String backupTimeoutDesc, boolean masterServer, boolean slaveServer) {
    this(ArNetworkingJavaJNI.new_ArServerBase__SWIG_5(addAriaExitCB, serverName, addBackupTimeoutToConfig, backupTimeoutName, backupTimeoutDesc, masterServer, slaveServer), true);
  }

  public ArServerBase(boolean addAriaExitCB, String serverName, boolean addBackupTimeoutToConfig, String backupTimeoutName, String backupTimeoutDesc, boolean masterServer) {
    this(ArNetworkingJavaJNI.new_ArServerBase__SWIG_6(addAriaExitCB, serverName, addBackupTimeoutToConfig, backupTimeoutName, backupTimeoutDesc, masterServer), true);
  }

  public ArServerBase(boolean addAriaExitCB, String serverName, boolean addBackupTimeoutToConfig, String backupTimeoutName, String backupTimeoutDesc) {
    this(ArNetworkingJavaJNI.new_ArServerBase__SWIG_7(addAriaExitCB, serverName, addBackupTimeoutToConfig, backupTimeoutName, backupTimeoutDesc), true);
  }

  public ArServerBase(boolean addAriaExitCB, String serverName, boolean addBackupTimeoutToConfig, String backupTimeoutName) {
    this(ArNetworkingJavaJNI.new_ArServerBase__SWIG_8(addAriaExitCB, serverName, addBackupTimeoutToConfig, backupTimeoutName), true);
  }

  public ArServerBase(boolean addAriaExitCB, String serverName, boolean addBackupTimeoutToConfig) {
    this(ArNetworkingJavaJNI.new_ArServerBase__SWIG_9(addAriaExitCB, serverName, addBackupTimeoutToConfig), true);
  }

  public ArServerBase(boolean addAriaExitCB, String serverName) {
    this(ArNetworkingJavaJNI.new_ArServerBase__SWIG_10(addAriaExitCB, serverName), true);
  }

  public ArServerBase(boolean addAriaExitCB) {
    this(ArNetworkingJavaJNI.new_ArServerBase__SWIG_11(addAriaExitCB), true);
  }

  public ArServerBase() {
    this(ArNetworkingJavaJNI.new_ArServerBase__SWIG_12(), true);
  }

  public boolean open(long port, String openOnIP, boolean tcpOnly) {
    return ArNetworkingJavaJNI.ArServerBase_open__SWIG_0(swigCPtr, this, port, openOnIP, tcpOnly);
  }

  public boolean open(long port, String openOnIP) {
    return ArNetworkingJavaJNI.ArServerBase_open__SWIG_1(swigCPtr, this, port, openOnIP);
  }

  public boolean open(long port) {
    return ArNetworkingJavaJNI.ArServerBase_open__SWIG_2(swigCPtr, this, port);
  }

  public void close() {
    ArNetworkingJavaJNI.ArServerBase_close(swigCPtr, this);
  }

  public void loopOnce() {
    ArNetworkingJavaJNI.ArServerBase_loopOnce(swigCPtr, this);
  }

  public boolean addData(String name, String description, ArFunctor_ServerData functor, String argumentDescription, String returnDescription, String commandGroup, String dataFlags) {
    return ArNetworkingJavaJNI.ArServerBase_addData__SWIG_0(swigCPtr, this, name, description, ArFunctor_ServerData.getCPtr(functor), functor, argumentDescription, returnDescription, commandGroup, dataFlags);
  }

  public boolean addData(String name, String description, ArFunctor_ServerData functor, String argumentDescription, String returnDescription, String commandGroup) {
    return ArNetworkingJavaJNI.ArServerBase_addData__SWIG_1(swigCPtr, this, name, description, ArFunctor_ServerData.getCPtr(functor), functor, argumentDescription, returnDescription, commandGroup);
  }

  public boolean addData(String name, String description, ArFunctor_ServerData functor, String argumentDescription, String returnDescription) {
    return ArNetworkingJavaJNI.ArServerBase_addData__SWIG_2(swigCPtr, this, name, description, ArFunctor_ServerData.getCPtr(functor), functor, argumentDescription, returnDescription);
  }

  public boolean loadUserInfo(String fileName, String baseDirectory) {
    return ArNetworkingJavaJNI.ArServerBase_loadUserInfo__SWIG_0(swigCPtr, this, fileName, baseDirectory);
  }

  public boolean loadUserInfo(String fileName) {
    return ArNetworkingJavaJNI.ArServerBase_loadUserInfo__SWIG_1(swigCPtr, this, fileName);
  }

  public void logUserInfo() {
    ArNetworkingJavaJNI.ArServerBase_logUserInfo(swigCPtr, this);
  }

  public void logCommandGroups() {
    ArNetworkingJavaJNI.ArServerBase_logCommandGroups(swigCPtr, this);
  }

  public void logCommandGroupsToFile(String fileName) {
    ArNetworkingJavaJNI.ArServerBase_logCommandGroupsToFile(swigCPtr, this, fileName);
  }

  public void setGroupDescription(String GrpName, String GrpDesc) {
    ArNetworkingJavaJNI.ArServerBase_setGroupDescription(swigCPtr, this, GrpName, GrpDesc);
  }

  public void logGroupDescriptions() {
    ArNetworkingJavaJNI.ArServerBase_logGroupDescriptions(swigCPtr, this);
  }

  public void logGroupDescriptionsToFile(String fileName) {
    ArNetworkingJavaJNI.ArServerBase_logGroupDescriptionsToFile(swigCPtr, this, fileName);
  }

  public void setServerKey(String serverKey) {
    ArNetworkingJavaJNI.ArServerBase_setServerKey(swigCPtr, this, serverKey);
  }

  public void rejectSinceUsingCentralServer(String centralServerIPString) {
    ArNetworkingJavaJNI.ArServerBase_rejectSinceUsingCentralServer(swigCPtr, this, centralServerIPString);
  }

  public void enforceProtocolVersion(String protocolVersion) {
    ArNetworkingJavaJNI.ArServerBase_enforceProtocolVersion(swigCPtr, this, protocolVersion);
  }

  public void enforceType(ArServerCommands.Type type) {
    ArNetworkingJavaJNI.ArServerBase_enforceType(swigCPtr, this, type.swigValue());
  }

  public void setBackupTimeout(double timeoutInMins) {
    ArNetworkingJavaJNI.ArServerBase_setBackupTimeout(swigCPtr, this, timeoutInMins);
  }

  public void run() {
    ArNetworkingJavaJNI.ArServerBase_run(swigCPtr, this);
  }

  public void runAsync() {
    ArNetworkingJavaJNI.ArServerBase_runAsync(swigCPtr, this);
  }

  public void logConnections(String prefix) {
    ArNetworkingJavaJNI.ArServerBase_logConnections__SWIG_0(swigCPtr, this, prefix);
  }

  public void logConnections() {
    ArNetworkingJavaJNI.ArServerBase_logConnections__SWIG_1(swigCPtr, this);
  }

  public int getNumClients() {
    return ArNetworkingJavaJNI.ArServerBase_getNumClients(swigCPtr, this);
  }

  public long findCommandFromName(String command) {
    return ArNetworkingJavaJNI.ArServerBase_findCommandFromName(swigCPtr, this, command);
  }

  public boolean broadcastPacketTcp(ArNetPacket packet, String name) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketTcp(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, name);
  }

  public boolean broadcastPacketTcpToMatching(ArNetPacket packet, String name, ArServerClientIdentifier identifier, boolean matchConnectionID) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketTcpToMatching__SWIG_0(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, name, ArServerClientIdentifier.getCPtr(identifier), identifier, matchConnectionID);
  }

  public boolean broadcastPacketTcpToMatching(ArNetPacket packet, String name, ArServerClientIdentifier identifier) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketTcpToMatching__SWIG_1(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, name, ArServerClientIdentifier.getCPtr(identifier), identifier);
  }

  public boolean broadcastPacketTcpWithExclusion(ArNetPacket packet, String name, ArServerClient excludeClient, boolean match, ArServerClientIdentifier identifier, boolean matchConnectionID) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketTcpWithExclusion__SWIG_0(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, name, ArServerClient.getCPtr(excludeClient), excludeClient, match, ArServerClientIdentifier.getCPtr(identifier), identifier, matchConnectionID);
  }

  public boolean broadcastPacketTcpWithExclusion(ArNetPacket packet, String name, ArServerClient excludeClient, boolean match, ArServerClientIdentifier identifier) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketTcpWithExclusion__SWIG_1(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, name, ArServerClient.getCPtr(excludeClient), excludeClient, match, ArServerClientIdentifier.getCPtr(identifier), identifier);
  }

  public boolean broadcastPacketTcpWithExclusion(ArNetPacket packet, String name, ArServerClient excludeClient, boolean match) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketTcpWithExclusion__SWIG_2(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, name, ArServerClient.getCPtr(excludeClient), excludeClient, match);
  }

  public boolean broadcastPacketTcpWithExclusion(ArNetPacket packet, String name, ArServerClient excludeClient) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketTcpWithExclusion__SWIG_3(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, name, ArServerClient.getCPtr(excludeClient), excludeClient);
  }

  public boolean broadcastPacketUdp(ArNetPacket packet, String name) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketUdp(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, name);
  }

  public boolean broadcastPacketUdpWithExclusion(ArNetPacket packet, String name, ArServerClient excludeClient, boolean match, ArServerClientIdentifier identifier, boolean matchConnectionID) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketUdpWithExclusion__SWIG_0(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, name, ArServerClient.getCPtr(excludeClient), excludeClient, match, ArServerClientIdentifier.getCPtr(identifier), identifier, matchConnectionID);
  }

  public boolean broadcastPacketUdpWithExclusion(ArNetPacket packet, String name, ArServerClient excludeClient, boolean match, ArServerClientIdentifier identifier) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketUdpWithExclusion__SWIG_1(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, name, ArServerClient.getCPtr(excludeClient), excludeClient, match, ArServerClientIdentifier.getCPtr(identifier), identifier);
  }

  public boolean broadcastPacketUdpWithExclusion(ArNetPacket packet, String name, ArServerClient excludeClient, boolean match) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketUdpWithExclusion__SWIG_2(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, name, ArServerClient.getCPtr(excludeClient), excludeClient, match);
  }

  public boolean broadcastPacketUdpWithExclusion(ArNetPacket packet, String name, ArServerClient excludeClient) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketUdpWithExclusion__SWIG_3(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, name, ArServerClient.getCPtr(excludeClient), excludeClient);
  }

  public boolean broadcastPacketUdpToMatching(ArNetPacket packet, String name, ArServerClientIdentifier identifier, boolean matchConnectionID) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketUdpToMatching(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, name, ArServerClientIdentifier.getCPtr(identifier), identifier, matchConnectionID);
  }

  public void sleepAfterSend(int msecDelay) {
    ArNetworkingJavaJNI.ArServerBase_sleepAfterSend(swigCPtr, this, msecDelay);
  }

  public boolean idleProcessingPending() {
    return ArNetworkingJavaJNI.ArServerBase_idleProcessingPending(swigCPtr, this);
  }

  public void processPacket(ArNetPacket packet, SWIGTYPE_p_sockaddr_in sin) {
    ArNetworkingJavaJNI.ArServerBase_processPacket(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, SWIGTYPE_p_sockaddr_in.getCPtr(sin));
  }

  public boolean sendUdp(ArNetPacket packet, SWIGTYPE_p_sockaddr_in sin) {
    return ArNetworkingJavaJNI.ArServerBase_sendUdp(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, SWIGTYPE_p_sockaddr_in.getCPtr(sin));
  }

  public void logTracking(boolean terse) {
    ArNetworkingJavaJNI.ArServerBase_logTracking__SWIG_0(swigCPtr, this, terse);
  }

  public void logTracking() {
    ArNetworkingJavaJNI.ArServerBase_logTracking__SWIG_1(swigCPtr, this);
  }

  public void resetTracking() {
    ArNetworkingJavaJNI.ArServerBase_resetTracking(swigCPtr, this);
  }

  public SWIGTYPE_p_void runThread(SWIGTYPE_p_void arg) {
    long cPtr = ArNetworkingJavaJNI.ArServerBase_runThread(swigCPtr, this, SWIGTYPE_p_void.getCPtr(arg));
    return (cPtr == 0) ? null : new SWIGTYPE_p_void(cPtr, false);
  }

  public long getTcpPort() {
    return ArNetworkingJavaJNI.ArServerBase_getTcpPort(swigCPtr, this);
  }

  public long getUdpPort() {
    return ArNetworkingJavaJNI.ArServerBase_getUdpPort(swigCPtr, this);
  }

  public String getOpenOnIP() {
    return ArNetworkingJavaJNI.ArServerBase_getOpenOnIP(swigCPtr, this);
  }

  public void addCycleCallback(ArFunctor functor) {
    ArNetworkingJavaJNI.ArServerBase_addCycleCallback(swigCPtr, this, ArFunctor.getCPtr(functor), functor);
  }

  public void remCycleCallback(ArFunctor functor) {
    ArNetworkingJavaJNI.ArServerBase_remCycleCallback(swigCPtr, this, ArFunctor.getCPtr(functor), functor);
  }

  public void addClientRemovedCallback(ArFunctor_ServerClient functor) {
    ArNetworkingJavaJNI.ArServerBase_addClientRemovedCallback(swigCPtr, this, ArFunctor_ServerClient.getCPtr(functor), functor);
  }

  public void remClientRemovedCallback(ArFunctor_ServerClient functor) {
    ArNetworkingJavaJNI.ArServerBase_remClientRemovedCallback(swigCPtr, this, ArFunctor_ServerClient.getCPtr(functor), functor);
  }

  public ArServerClient makeNewServerClientFromSocket(ArSocket socket, boolean overrideGeneralReject) {
    long cPtr = ArNetworkingJavaJNI.ArServerBase_makeNewServerClientFromSocket(swigCPtr, this, ArSocket.getCPtr(socket), socket, overrideGeneralReject);
    return (cPtr == 0) ? null : new ArServerClient(cPtr, false);
  }

  public ArServerUserInfo getUserInfo() {
    long cPtr = ArNetworkingJavaJNI.ArServerBase_getUserInfo(swigCPtr, this);
    return (cPtr == 0) ? null : new ArServerUserInfo(cPtr, false);
  }

  public void setUserInfo(ArServerUserInfo userInfo) {
    ArNetworkingJavaJNI.ArServerBase_setUserInfo(swigCPtr, this, ArServerUserInfo.getCPtr(userInfo), userInfo);
  }

  public boolean addDataAdvanced(String name, String description, ArFunctor_ServerData functor, String argumentDescription, String returnDescription, String commandGroup, String dataFlags, long commandNumber, SWIGTYPE_p_ArFunctor2T_long_unsigned_int_t requestChangedFunctor, SWIGTYPE_p_ArRetFunctor2T_bool_ArServerClient_p_ArNetPacket_p_t requestOnceFunctor) {
    return ArNetworkingJavaJNI.ArServerBase_addDataAdvanced__SWIG_0(swigCPtr, this, name, description, ArFunctor_ServerData.getCPtr(functor), functor, argumentDescription, returnDescription, commandGroup, dataFlags, commandNumber, SWIGTYPE_p_ArFunctor2T_long_unsigned_int_t.getCPtr(requestChangedFunctor), SWIGTYPE_p_ArRetFunctor2T_bool_ArServerClient_p_ArNetPacket_p_t.getCPtr(requestOnceFunctor));
  }

  public boolean addDataAdvanced(String name, String description, ArFunctor_ServerData functor, String argumentDescription, String returnDescription, String commandGroup, String dataFlags, long commandNumber, SWIGTYPE_p_ArFunctor2T_long_unsigned_int_t requestChangedFunctor) {
    return ArNetworkingJavaJNI.ArServerBase_addDataAdvanced__SWIG_1(swigCPtr, this, name, description, ArFunctor_ServerData.getCPtr(functor), functor, argumentDescription, returnDescription, commandGroup, dataFlags, commandNumber, SWIGTYPE_p_ArFunctor2T_long_unsigned_int_t.getCPtr(requestChangedFunctor));
  }

  public boolean addDataAdvanced(String name, String description, ArFunctor_ServerData functor, String argumentDescription, String returnDescription, String commandGroup, String dataFlags, long commandNumber) {
    return ArNetworkingJavaJNI.ArServerBase_addDataAdvanced__SWIG_2(swigCPtr, this, name, description, ArFunctor_ServerData.getCPtr(functor), functor, argumentDescription, returnDescription, commandGroup, dataFlags, commandNumber);
  }

  public boolean addDataAdvanced(String name, String description, ArFunctor_ServerData functor, String argumentDescription, String returnDescription, String commandGroup, String dataFlags) {
    return ArNetworkingJavaJNI.ArServerBase_addDataAdvanced__SWIG_3(swigCPtr, this, name, description, ArFunctor_ServerData.getCPtr(functor), functor, argumentDescription, returnDescription, commandGroup, dataFlags);
  }

  public boolean addDataAdvanced(String name, String description, ArFunctor_ServerData functor, String argumentDescription, String returnDescription, String commandGroup) {
    return ArNetworkingJavaJNI.ArServerBase_addDataAdvanced__SWIG_4(swigCPtr, this, name, description, ArFunctor_ServerData.getCPtr(functor), functor, argumentDescription, returnDescription, commandGroup);
  }

  public boolean addDataAdvanced(String name, String description, ArFunctor_ServerData functor, String argumentDescription, String returnDescription) {
    return ArNetworkingJavaJNI.ArServerBase_addDataAdvanced__SWIG_5(swigCPtr, this, name, description, ArFunctor_ServerData.getCPtr(functor), functor, argumentDescription, returnDescription);
  }

  public void setAdditionalDataFlags(String additionalDataFlags) {
    ArNetworkingJavaJNI.ArServerBase_setAdditionalDataFlags(swigCPtr, this, additionalDataFlags);
  }

  public int getFrequency(long command, boolean internalCall) {
    return ArNetworkingJavaJNI.ArServerBase_getFrequency__SWIG_0(swigCPtr, this, command, internalCall);
  }

  public int getFrequency(long command) {
    return ArNetworkingJavaJNI.ArServerBase_getFrequency__SWIG_1(swigCPtr, this, command);
  }

  public boolean broadcastPacketTcpByCommand(ArNetPacket packet, long command) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketTcpByCommand(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, command);
  }

  public boolean broadcastPacketTcpByCommandWithExclusion(ArNetPacket packet, long command, ArServerClient excludeClient, boolean match, ArServerClientIdentifier identifier, boolean matchConnectionID) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketTcpByCommandWithExclusion__SWIG_0(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, command, ArServerClient.getCPtr(excludeClient), excludeClient, match, ArServerClientIdentifier.getCPtr(identifier), identifier, matchConnectionID);
  }

  public boolean broadcastPacketTcpByCommandWithExclusion(ArNetPacket packet, long command, ArServerClient excludeClient, boolean match, ArServerClientIdentifier identifier) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketTcpByCommandWithExclusion__SWIG_1(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, command, ArServerClient.getCPtr(excludeClient), excludeClient, match, ArServerClientIdentifier.getCPtr(identifier), identifier);
  }

  public boolean broadcastPacketTcpByCommandWithExclusion(ArNetPacket packet, long command, ArServerClient excludeClient, boolean match) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketTcpByCommandWithExclusion__SWIG_2(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, command, ArServerClient.getCPtr(excludeClient), excludeClient, match);
  }

  public boolean broadcastPacketTcpByCommandWithExclusion(ArNetPacket packet, long command, ArServerClient excludeClient) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketTcpByCommandWithExclusion__SWIG_3(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, command, ArServerClient.getCPtr(excludeClient), excludeClient);
  }

  public boolean broadcastPacketUdpByCommand(ArNetPacket packet, long command) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketUdpByCommand(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, command);
  }

  public boolean broadcastPacketUdpByCommandWithExclusion(ArNetPacket packet, long command, ArServerClient excludeClient, boolean match, ArServerClientIdentifier identifier, boolean matchConnectionID) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketUdpByCommandWithExclusion__SWIG_0(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, command, ArServerClient.getCPtr(excludeClient), excludeClient, match, ArServerClientIdentifier.getCPtr(identifier), identifier, matchConnectionID);
  }

  public boolean broadcastPacketUdpByCommandWithExclusion(ArNetPacket packet, long command, ArServerClient excludeClient, boolean match, ArServerClientIdentifier identifier) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketUdpByCommandWithExclusion__SWIG_1(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, command, ArServerClient.getCPtr(excludeClient), excludeClient, match, ArServerClientIdentifier.getCPtr(identifier), identifier);
  }

  public boolean broadcastPacketUdpByCommandWithExclusion(ArNetPacket packet, long command, ArServerClient excludeClient, boolean match) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketUdpByCommandWithExclusion__SWIG_2(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, command, ArServerClient.getCPtr(excludeClient), excludeClient, match);
  }

  public boolean broadcastPacketUdpByCommandWithExclusion(ArNetPacket packet, long command, ArServerClient excludeClient) {
    return ArNetworkingJavaJNI.ArServerBase_broadcastPacketUdpByCommandWithExclusion__SWIG_3(swigCPtr, this, ArNetPacket.getCPtr(packet), packet, command, ArServerClient.getCPtr(excludeClient), excludeClient);
  }

  public void closeConnectionID(long idNum) {
    ArNetworkingJavaJNI.ArServerBase_closeConnectionID(swigCPtr, this, idNum);
  }

  public boolean dataHasFlag(String name, String dataFlag) {
    return ArNetworkingJavaJNI.ArServerBase_dataHasFlag(swigCPtr, this, name, dataFlag);
  }

  public boolean dataHasFlagByCommand(long command, String dataFlag) {
    return ArNetworkingJavaJNI.ArServerBase_dataHasFlagByCommand(swigCPtr, this, command, dataFlag);
  }

  public void setDebugLogging(boolean debugLogging) {
    ArNetworkingJavaJNI.ArServerBase_setDebugLogging__SWIG_0(swigCPtr, this, debugLogging);
  }

  public void setDebugLogging() {
    ArNetworkingJavaJNI.ArServerBase_setDebugLogging__SWIG_1(swigCPtr, this);
  }

  public boolean getDebugLogging() {
    return ArNetworkingJavaJNI.ArServerBase_getDebugLogging(swigCPtr, this);
  }

  public int getMostClients() {
    return ArNetworkingJavaJNI.ArServerBase_getMostClients(swigCPtr, this);
  }

  public boolean allowingIdlePackets() {
    return ArNetworkingJavaJNI.ArServerBase_allowingIdlePackets(swigCPtr, this);
  }

  public boolean addIdleSingleShotCallback(ArFunctor functor) {
    return ArNetworkingJavaJNI.ArServerBase_addIdleSingleShotCallback(swigCPtr, this, ArFunctor.getCPtr(functor), functor);
  }

  public boolean hasSlowPackets() {
    return ArNetworkingJavaJNI.ArServerBase_hasSlowPackets(swigCPtr, this);
  }

  public boolean hasIdlePackets() {
    return ArNetworkingJavaJNI.ArServerBase_hasIdlePackets(swigCPtr, this);
  }

  public boolean hasIdleCallbacks() {
    return ArNetworkingJavaJNI.ArServerBase_hasIdleCallbacks(swigCPtr, this);
  }

  public void internalSetNumClients(int numClients) {
    ArNetworkingJavaJNI.ArServerBase_internalSetNumClients(swigCPtr, this, numClients);
  }

  public void addTooManyClientsCB(ArFunctor1_CString functor, int position) {
    ArNetworkingJavaJNI.ArServerBase_addTooManyClientsCB__SWIG_0(swigCPtr, this, ArFunctor1_CString.getCPtr(functor), functor, position);
  }

  public void addTooManyClientsCB(ArFunctor1_CString functor) {
    ArNetworkingJavaJNI.ArServerBase_addTooManyClientsCB__SWIG_1(swigCPtr, this, ArFunctor1_CString.getCPtr(functor), functor);
  }

  public void remTooManyClientsCB(ArFunctor1_CString functor) {
    ArNetworkingJavaJNI.ArServerBase_remTooManyClientsCB(swigCPtr, this, ArFunctor1_CString.getCPtr(functor), functor);
  }

  public boolean internalSetDefaultFrequency(String command, int frequency) {
    return ArNetworkingJavaJNI.ArServerBase_internalSetDefaultFrequency(swigCPtr, this, command, frequency);
  }

  public void internalLockup() {
    ArNetworkingJavaJNI.ArServerBase_internalLockup(swigCPtr, this);
  }

  public void remData(String name) {
    ArNetworkingJavaJNI.ArServerBase_remData(swigCPtr, this, name);
  }

}
